Method and device for radio signal reception

ABSTRACT

The received radio signal includes contributions from a plurality of channels multiplexed by respective spreading codes. A matched filter receiver is allocated to each multiplexed channel to estimate an impulse response of the channel and to provide first soft estimates of symbols transmitted on the channel. The first soft estimates provided by the matched filter receivers are processed to obtain a corrected soft estimate of at least one symbol transmitted on a channel. That processing includes subtracting from the first soft estimate of the symbol at least one term equal to the product of a decision value assigned to another symbol transmitted on another channel, determined from a soft estimate obtained previously for said other transmitted symbol, and a correlation between two generalized codes associated respectively with said symbol and with said other symbol. The generalized code associated with a symbol transmitted on a channel is a convolution of the estimated impulse response of said channel and Q samples of the spreading code of the channel which correspond to said symbol.

BACKGROUND OF THE INVENTION

The present invention relates to digital radio communication techniques using Code Division Multiple Access (CDMA).

It is more especially aimed at multi-user detection procedures which are sometimes employed in these techniques to improve the reception performance.

A CDMA signal processed by a receiver can be expressed, after filtering and transposition to baseband, as follows:

$\begin{matrix} {{y(t)} = {{\sum\limits_{u = 1}^{U}\;{y^{u}(t)}} + {n(t)}}} & (1) \end{matrix}$ where n(t) is additive noise and U is the number of channels multiplexed on the CDMA carrier, the general expression for whose contributions y^(u)(t) is:

$\begin{matrix} {{y^{u}(t)} = {\sum\limits_{i}\;{b_{i}^{u} \cdot {s_{i}^{u}\left( {t - {iT}} \right)}}}} & (2) \end{matrix}$ where:

-   -   b_(i) ^(u) is the information symbol of rank i transmitted on         the u-th channel;     -   s_(i) ^(u)(t) is a generalized code given by the convolution of         the impulse response of the u-th channel with the portion         corresponding to the symbol b_(i) ^(u) of the spreading code         c^(u) assigned to the channel.

The number U corresponds to the number of users if each user involved utilizes a single channel. There may however be several channels per user (for example traffic and control).

The spreading codes c^(u) are sequences of discrete samples called “chips”, with real values (±1) or complex values (±1±j), having a given chip rate. The symbols b_(i) ^(u) also have real values (±1) or complex values (±1±j). The duration of a symbol on a channel is a multiple of the chip duration, the ratio between the two being the spreading factor Q of the channel.

In certain systems, the spreading factor may vary from one channel to another. In such a case, a common spreading factor Q is considered, equal to the greatest common divisor (GCD) of the U spreading factors Q^(u). A symbol on the channel u is then regarded as the concatenation of Q^(u)/Q consecutive symbols b_(i) ^(u) whose values are identical.

The duration of the generalized response s_(i) ^(u)(t) corresponds to Q+W−1 chips if W denotes the length of the impulse response expressed as a number of chips.

By sampling at the chip rate the CDMA signal y(t) received for a block of n symbols on each of the channels, the receiver obtains complex samples that can be modeled by a vector Y of n×Q+W−1 components: Y=A·b+N  (3) where:

-   -   b denotes a column vector of size n×U, which can be decomposed         into b^(T)=(b₁ ^(T), b₂ ^(T), . . . , b_(n) ^(T)), (.)^(T)         representing the transposition operation, the vectors b_(i)         being of size U for 1≦i≦n, with b_(i) ^(T)=(b_(i) ¹, b_(i) ², .         . . , b_(i) ^(U));     -   N is a random noise vector of size n×Q+W−1;     -   A=(A₁, A₂, . . . , A_(n)) is a matrix of generalized codes of         size (n×Q+W−1)×(n×U) which can be subdivided into n submatrices         A_(i) of size (n×Q+W−1)×U. In the matrix A_(i) (1≦i≦n), the u-th         column (1≦u≦U) is a convolution of the impulse response of the         u-th channel and of the Q samples of the spreading code of the         u-th channel corresponding to the i-th symbol of the block.

Stated otherwise, the matrices A_(i) may be written: A _(i)=(Ω_(i) ¹, Ω_(i) ², . . . , Ω_(i) ^(U))  (4) with: Ω_(i) ^(u) =M _(i) ^(u) ·H _(i) ^(u)  (5) where M_(i) ^(u) is a Toeplitz matrix of size (n×Q+W−1)×(n×Q+W−Q) obtained from the values c_(i) ^(u)(q) of the chips of the spreading code c^(u) of the u-th channel over the duration of the i-th bit of the block:

$\begin{matrix} {M_{i}^{u} = \begin{pmatrix} {c_{i}^{u}(1)} & 0 & \cdots & 0 \\ {c_{i}^{u}(2)} & {c_{i}^{u}(1)} & ⋰ & \vdots \\ \; & {c_{i}^{u}(2)} & ⋰ & 0 \\ {c_{i}^{u}(Q)} & \; & ⋰ & {c_{i}^{u}(1)} \\ 0 & {c_{i}^{u}(Q)} & \; & {c_{i}^{u}(2)} \\ \vdots & ⋰ & ⋰ & \vdots \\ 0 & \cdots & 0 & {c_{i}^{u}(Q)} \end{pmatrix}} & (6) \end{matrix}$ and H_(i) ^(u) is a column vector of size (n−1)×Q+W which, when the U channels are received synchronously, contains (i−1)×Q zeroes, followed by the W samples of the impulse response of the u-th channel relating to the i-th symbol b_(i) ^(u), and followed by (n−i)×Q other zeroes. The time offsets in reception along the various channels, in numbers of chips, result in corresponding offsets of the W samples of the impulse response of the channels along the vector H_(i) ^(u).

The most commonly used receiver uses one or more matched filters to estimate the value of the symbols transmitted on each channel. This receiver estimates the impulse response of the channel along a propagation path or several propagation paths (“rake receiver”).

The operation performed by such receivers amounts to performing the matrix product: Z=Â*·Y  (7) where Â* is the conjugate transpose of an estimate Â=(Â₁, Â₂, . . . , Â_(n)) of the matrix A=(A₁, A₂, . . . , A_(n)), the matrices Â_(i) stemming from the impulse responses estimated by applying relations (4) and (5).

The n×U components Z_(i) ^(u) of the vector Z are respective soft estimates of the n×U symbols b_(i) ^(u) of the vector b. If the decoding operations performed downstream admit soft estimates as input, the components of the vector Z can be used directly. Otherwise, the sign of these components is taken to form the hard estimates of the symbols.

The matched filter receiver is optimal when the generalized codes (vectors Ω_(i) ^(u)) are pairwise orthogonal, i.e. when the matrix A*·A is diagonal. In general, the systems adopt pairwise orthogonal spreading codes having good autocorrelation properties, this making it possible to satisfy this condition to a first approximation.

However, when the impulse response of the channel is taken into account, the orthogonality condition is no longer fulfilled. The above approximation becomes poor especially in the presence of multiple propagation paths.

An object of the present invention is to compensate for the non-optimal nature of the receiver with matched filter in these situations.

SUMMARY OF THE INVENTION

The invention thus proposes a method of receiving a radio signal comprising contributions from a plurality of channels multiplexed by respective spreading codes, wherein a matched filter receiver is allocated to each multiplexed channel to estimate an impulse response of the channel and to provide first soft estimates of symbols transmitted on the channel. According to the invention, the first soft estimates provided by the matched filter receivers are processed to obtain a corrected soft estimate of at least one symbol transmitted on a channel by subtracting from the first soft estimate of said symbol at least one term equal to the product of a decision value assigned to another symbol transmitted on another channel, determined from a soft estimate obtained previously for said other transmitted symbol, and a correlation between two generalized codes associated respectively with said symbol and with said other symbol, the generalized code associated with a symbol transmitted on a channel being a convolution of the estimated impulse response of said channel and Q samples of the spreading code of the channel which correspond to said symbol.

The method corrects the soft estimates provided by the matched filter receiver by making allowance for the particular form of the interference caused in a channel by the presence of the other multiple access channels. This interference is here called MAI (“multiple access interference”). This allowance improves the performance of the receiver in terms of signal-to-noise ratio.

The symbols are typically transmitted on U multiplexed channels in the form of respective blocks of n symbols, n and U being numbers greater than 1. At the output of the matched filter receivers, the first soft estimate of the i-th symbol of a block transmitted on the u-th channel (1≦i≦n, 1≦u≦U) is given by the ((i−1)×U+u)-th component of a vector Z=Â*·Y, where Y is a vector of size n×Q+W−1 composed of complex samples of a baseband signal obtained from the received radio signal, Q is the number of samples per symbol in the spreading codes, W is the number of samples in the estimates of the impulse responses, and Â* is the conjugate transpose of a matrix Â=(Â₁, Â₂, . . . , Â_(n)) subdivided into n submatrices Â_(i) of size (n×Q+W−1)×U with 1≦i≦n, the u-th column of the matrix Â_(i) for 1≦u≦U being a convolution of the estimated impulse response of the u-th channel and of the Q samples of the spreading code of the u-th channel corresponding to the i-th symbol of the block. The corrected soft estimate of at least one i-th symbol of a block transmitted on a u-th channel (1≦i≦n, 1≦u≦U) may then be obtained by subtracting from the first soft estimate of said symbol at least one term given by {tilde over (R)}_(i,0) ^(u)·{circumflex over (b)}_(i), where {tilde over (R)}_(i,0) ^(u) is the u-th row of a matrix of size U×U whose diagonal components are zero and whose other components are respectively from a correlation matrix {circumflex over (R)}_(i,0)=Â_(i)*·Â_(i), and {circumflex over (b)}_(i) is a column vector of size U composed of decision values assigned to the i-th symbols of the U blocks, determined respectively from soft estimates obtained previously for said i-th symbols.

The term {tilde over (R)}_(i,0) ^(u).{circumflex over (b)}_(i) represents, to a first approximation, an estimate of the interference caused in the u-th channel by the presence of the U−1 other channels. This approximation may suffice in cases where the inter-symbol interference (ISI) is weak.

The row vector {tilde over (R)}_(i,0) ^(u) is neglected in traditional receivers (which assume that A*·A is diagonal), so that the MAI is regarded as included in the additive noise (vector N of relation (3)). This degrades the performance of the receiver in terms of signal-to-noise ratio.

The above method exploits knowledge which may be obtained regarding the structure of the contributions from the MAI in the signal received, so as to avoid or at least attenuate this degradation.

In an advantageous implementation of the method, said corrected soft estimate of the i-th symbol of the block transmitted on the u-th channel is obtained by further subtracting from the first soft estimate of said symbol at least one term of the form {circumflex over (R)}_(i,j) ^(u)·{circumflex over (b)}_(i+j), where j is a non-zero integer, and {circumflex over (R)}_(i,j) ^(u) is the u-th row of a matrix of size U×U whose components are respectively from a correlation matrix {circumflex over (R)}_(i,j)=Â_(i)*.Â_(i+j). Preferably, each of the terms of the form {circumflex over (R)}_(i,j) ^(u)·{circumflex over (b)}_(i+j) for −m≦j≦−1 and 1≦j≦m is subtracted from the first soft estimate of said symbol to obtain its corrected soft estimate, m being the integer equal to or immediately greater than the number (Q+W−1)/Q.

The estimate of the contribution from the MAI is thus sharpened and the inter-symbol interference (ISI), whose integer m represents the degree, is taken into account in the same way.

Typically, the corrected soft estimates will be determined sequentially for a plurality of symbols of the U blocks. To form said soft estimates obtained previously for certain of the symbols, serving to determine the decision values, one then advantageously takes the corrected soft estimates of said symbols if the former have previously been determined, and the first soft estimates of said symbols otherwise. The corrections already performed on the soft estimates are thus taken into account recursively, this making it possible to further improve accuracy.

Another aspect of the present invention pertains to a device for receiving a radio signal comprising contributions from a plurality of channels multiplexed by respective spreading codes, comprising matched filter receivers each allocated to a respective multiplexed channel to estimate an impulse response of the channel and to provide first soft estimates of symbols transmitted on the channel, and means for processing these first soft estimates provided by the matched filter receivers to obtain a corrected soft estimate of at least one symbol transmitted on a channel in the manner indicated above.

Such a device can in particular be incorporated into a base station of a CDMA radio communication system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a receiving device according to the invention; and

FIG. 2 is a diagram of a matched filter receiver of the device.

DESCRIPTION OF PREFERRED EMBODIMENTS

The device represented in FIG. 1 forms part of the receiving stage of a radio communication station able to communicate with several remote stations 1.

The uplink channels used by these distant stations 1 are multiplexed by the CDMA technique, so that the radio signal picked up by the antenna 2, and converted to baseband, can be represented in the form (1)–(2) for U multiplexed channels originating from V stations (1≦V≦U).

The station incorporating the device is for example a base station of a third-generation cellular radio communication system of the UMTS (“Universal Mobile Telecommunication System”) type.

In FIG. 1, the unit 3 diagrammatically represents the modules performing in a conventional manner the signal reception preprocessing (amplification, filterings, conversion to baseband, chip rate sampling). This unit 3 delivers blocks Y of n×Q+W−1 samples, corresponding to blocks of n symbols transmitted simultaneously on the U channels. If the blocks of n symbols follow one another without interruption on the channels, there is an overlap of W samples (chips) between the successive blocks Y, corresponding to the duration of the impulse response.

The received-signal blocks Y are provided in parallel to U matched filter receivers 4 ^(u) operating with respective channel codes c^(u) produced by pseudorandom code generators 5 ^(u) (1≦u≦U).

FIG. 2 illustrates the well-known structure of a matched filter receiver 4 ^(u) of “rake” type.

This receiver 4 ^(u) comprises a channel probing unit 6 which evaluates the impulse response of the u-th channel by searching for K propagation paths (K≧1), for the K “fingers” of the receiver. Each path K is characterized by a delay t_(k) ^(u) expressed as a number of chips and a complex response r_(k) ^(u) (1≦k≦K). By way of example, the signal transmitted on each channel by a remote station may comprise sequences of known training symbols. By searching, over a window of length W chips, for the K correlations of largest amplitude between the received signal Y and these known sequences modulated by the channel spreading code c^(u), the unit 6 obtains the delays t_(k) ^(u) (time offsets of the maxima) and the responses r_(k) ^(u) (values of the maxima).

In each finger k of the receiver 4 ^(u), the spreading code c^(u) produced by the generator 5 ^(u) (or its conjugate if the codes are complex) is delayed by a unit 7 which applies the delay of t_(k) ^(u) chips thereto. Each code thus delayed is multiplied by the received signal Y (multiplier 8) and by the conjugate of the complex response r_(k) ^(u) (multiplier 9). The K results of these multiplications are summed by an adder 10 to form the block Z^(u) of n soft estimates for the u-th channel. At the output of the matched filter receiver 4 ^(u), the i-th component of the block Z^(u) is the soft estimate of the symbol b_(i) ^(u). If the symbols b_(i) ^(u) are signed bits (±1), the soft estimates of the block Z^(u) are the real parts of the summed contributions of the K fingers. If the symbols b_(i) ^(u) are pairs of signed bits, they are complex numbers equal to these summed contributions.

As shown in FIG. 1, the soft estimates Z^(u) can be transformed into hard estimates {circumflex over (b)}^(u) by decision modules 12 ^(u) at the output of the receivers 4 ^(u). When the symbols b_(i) ^(u) are signed bits, the modules 12 ^(u) simply apply the sign function to the real components of the vectors Z^(u). When these are pairs of signed bits, the modules 12 ^(u) apply the sign function to the real parts and to the imaginary parts of the components of the vectors Z^(u).

If the set of components of the U vectors Z^(u) is ordered by grouping together the estimates of the symbols of like rank i, then the vector Z defined above of size n×U is obtained, in which the soft estimate of the symbol b_(i) ^(u) is the ((i−1)×U+u)-th component. The column vector Z can also be decomposed into n vectors Z_(i) of size U, according to Z^(T)=(Z₁ ^(T), Z₂ ^(T), . . . , Z_(n) ^(T)). A similar ordering of the components of the U vectors {circumflex over (b)}^(u) gives the column vector of hard estimates {circumflex over (b)} of size n×U, which can be decomposed into {circumflex over (b)}^(T)=({circumflex over (b)}₁ ^(T), {circumflex over (b)}₂ ^(T), . . . , {circumflex over (b)}_(n) ^(T)), the vectors {circumflex over (b)}_(i) being of size U for 1≦i≦n and representing respective estimates of the vectors b_(i).

The matrix product (7) performed by the matched filter receivers can also be written (cf. (3)): Z=Â*·A·b+Â*.N  (8)

If we assume that the impulse responses have been estimated correctly, then the matrices A and Â may be regarded as equal, and we see that the relation between the vector b of the symbols and the vector Z of the soft estimates of these symbols is characterized by the matrix A*·A, which can be expanded as:

$\begin{matrix} {{A^{*} \cdot A} = \begin{pmatrix} R_{1,0} & R_{1,{+ 1}} & \cdots & R_{1,{+ m}} & 0 & \cdots & 0 \\ R_{2,{- 1}} & R_{2,0} & \; & \; & ⋰ & ⋰ & \vdots \\ \vdots & \; & ⋰ & \; & \; & ⋰ & 0 \\ R_{{m + 1},{- m}} & \; & \; & ⋰ & ⋰ & \; & R_{{n - m},{+ m}} \\ 0 & ⋰ & \; & ⋰ & ⋰ & \; & \vdots \\ \vdots & ⋰ & ⋰ & \; & \; & R_{{n - 1},0} & R_{{n - 1},{+ 1}} \\ 0 & \cdots & 0 & R_{n,{- m}} & \cdots & R_{n,{- 1}} & R_{n,0} \end{pmatrix}} & (9) \end{matrix}$ with, for 1≦i≦n and −m≦j≦+m: R _(i,j) =R _(i+j,−i) *=A _(i) *·A _(i+j)  (10)

Each matrix R_(i,j) of size U×U contains the correlations of the generalized codes between the i-th symbols and the (i+j)-th symbols of the blocks relating to the U channels.

For 1≦i≦n, equation (8) reduces to:

$\begin{matrix} {Z_{i} = {{\sum\limits_{j = {- m}}^{+ m}\;{R_{i,j} \cdot b_{i + j}}} + N_{i}}} & (11) \end{matrix}$ where Z_(i) is a vector of size U containing the soft estimates of the i-th symbols of the U blocks and N_(i) a corresponding noise vector.

In the particular case where all the channels are synchronized and where the ISI is negligible (m=0), a simplification arises: Z _(i) =R _(i,0) ·b _(i) +N _(i)  (12)

The method according to the invention comprises a post-processing of the soft estimates of the vectors Z_(i), which is carried out in the module 13 represented in FIG. 1. The algorithm used is called MFPIC (“Matched Filter Parallel Interference Cancellation”).

The first step of this algorithm consists in obtaining, for 1≦i≦n and −m≦j≦+m, the components of the matrices {circumflex over (R)}_(i,j)=Â_(i)*.Â_(i+j) which are the estimates of the correlation matrices R_(i,j) based on the impulse responses estimated by the probing units 6. Relations (10) show that the required quantity of calculations can be reduced by virtue of the symmetry properties of the matrices R_(i,j).

Each component {circumflex over (R)}_(i,j) ^(u,v)={circumflex over (Ω)}_(i) ^(u)*·{circumflex over (Ω)}_(i,j) ^(v) of a matrix {circumflex over (R)}_(i,j) is the scalar product of two vectors {circumflex over (Ω)}_(i) ^(u) and {circumflex over (Ω)}_(i+j) ^(v) corresponding to the columns u and v of the matrices Â_(i) and Â_(i+j). Each vector {circumflex over (Ω)}_(i) ^(u) contains the convolution of the estimated impulse response of channel u and of the Q samples of the spreading code of this channel corresponding to the i-th symbol of the block, and is defined as in relation (5), the matrix M_(i) ^(u) being determined according to (6) in accordance with the code c^(u) provided by the generator 5 ^(u), and the vector H_(i) ^(u) being replaced by an estimated response vector Ĥ_(i) ^(u) containing the complex responses r_(k) ^(u) estimated by the probing units 6, positioned according to the corresponding delays t_(k) ^(u).

According to one implementation of the invention, the module 13 executes the following operation (13) sequentially for i going from 1 to n:

$\begin{matrix} {X_{i} = {Z_{i} - {{\overset{\sim}{R}}_{i,0} \cdot {\hat{b}}_{i}} - {\sum\limits_{j = 1}^{m}\;\left( {{{\hat{R}}_{i,{- j}} \cdot {\hat{b}}_{i - j}} + {{\hat{R}}_{i,j} \cdot {\hat{b}}_{i + j}}} \right)}}} & (13) \end{matrix}$ i.e. for each symbol:

$X_{i}^{u} = {Z_{i}^{u} - {{\overset{\sim}{R}}_{i,0}^{u} \cdot {\hat{b}}_{i}} - {\sum\limits_{j = 1}^{m}\;\left( {{{\hat{R}}_{i,{- j}}^{u} \cdot {\hat{b}}_{i - j}} + {{\hat{R}}_{i,j}^{u} \cdot {\hat{b}}_{i + j}}} \right)}}$ where the matrix {tilde over (R)}_(i,0) is equal to the correlation matrix {circumflex over (R)}_(i,0) in which the diagonal components are set to zero. In general the block of n symbols is preceded and followed by other symbols, whose hard estimates are placed in the vectors {circumflex over (b)}_(i−j) for i−j≦1 and {circumflex over (b)}_(i+j) for i+j>n. Otherwise, these vectors may be set to zero.

The vectors X_(i) thus obtained are corrected soft estimates taking account of relations (11). This correction exploits the decisions taken in the hard estimates {circumflex over (b)}_(i), and hence a certain structure of the MAI and of the ISI, which is not the same as that of the Gaussian noise N.

Additional hard estimates {circumflex over ({circumflex over (b)}_(i) may in their turn be deduced from the soft estimates X_(i), typically by applying the sign function to the real components (where the symbols are bits) or to each of the real and imaginary parts of the complex components (where the symbols are pairs of bits): {circumflex over ({circumflex over (b)}=sign[X_(i)].

At the output of the post-processing module 13, the soft estimates of the vectors X_(i) and/or the hard estimates of the vectors {circumflex over ({circumflex over (b)}_(i) (1≦i≦n) are redistributed among the U channels, as indicated by the vectors X^(u) and {circumflex over ({circumflex over (b)}^(u) in FIG. 1 (1≦u≦U), so as to provide the estimates useful to the decoders in the downstream channel processing pathways.

In a preferred variant of the invention, the module 13 executes the following operations (13) and (14) sequentially for i going from 1 to n:

$\begin{matrix} {X_{i} = {Z_{i} - {{\overset{\sim}{R}}_{i,0} \cdot {\hat{b}}_{i}} - {\sum\limits_{j = 1}^{m}\;\left( {{{\hat{R}}_{i,{- j}} \cdot {\hat{b}}_{i - j}} + {{\hat{R}}_{i,j} \cdot {\hat{b}}_{i + j}}} \right)}}} & (13) \end{matrix}$ {circumflex over (b)} _(i)=sign[X_(i)]  (14)

In this case, the corrected estimates X_(i) which have already been calculated are taken into account recursively in the decision taken in the operation (14), thereby further improving the estimates.

It should be noted that the operations (13) and (14) above could be executed in an order other than that of increasing indices i. For example, they could be executed in an order determined by an energy criterion. One possibility is first to correct the estimates of the symbols of least energy in the signal received, that is to say to proceed in the order of the indices i for which the diagonal terms of the correlation matrix {circumflex over (R)}_(i,0) are decreasing.

In other alternative embodiments:

-   -   the function applied (in the decision modules 12 ^(u)) to deduce         from the soft estimates Z_(i) the estimates {circumflex over         (b)}_(i) used in formula (13) is, rather than the sign function,         a function generally increasing between −1 and +1. For example,         a function with three values (−1 for Z_(i) ^(u)<−T, 0 for         −T≦Z_(i) ^(u)≦+T and +1 for Z_(i) ^(u)>+T) makes it possible to         do away with making corrections based on estimates with low         likelihood relative to a threshold T. The function can also         increase continuously from −1 to +1. The advantage of the sign         function is mainly in terms of complexity since it avoids the         multiplications in formula (13);     -   likewise, a function increasing between −1 and +1 can generally         be used in the operation (14) to obtain the estimate {circumflex         over (b)}_(i) used in the following iterations of operation         (13);     -   the MFPIC algorithm is applied to only some of the channels         received, this amounting to taking, in the expression for the         algorithm, a value of U (>1) which is smaller than the number of         rake receivers. Here again, energy criteria can govern which         channels are subjected to the correction of MAI;     -   the MFPIC algorithm is applied in a station receiving in         diversity mode with the aid of d distinct antennas (or antenna         sectors). It is then sufficient to replace A*·A by

${\underset{{p = 1}\mspace{11mu}}{\overset{d\mspace{11mu}}{\sum\;}}\;{{A^{*}(p)} \cdot {A(p)}}}\mspace{14mu}{and}\mspace{14mu}{A^{*} \cdot Y}\mspace{14mu}{by}\mspace{14mu}{\sum\limits_{p = 1}^{d}\;{{A^{*}(p)} \cdot {Y(p)}}}$

-   -    in the expression for the algorithm, the index p referring to         the various antennas.

The MFPIC algorithm offers multi-user detection having good performance, especially in respect of the relatively low spreading factors Q. As soon as the binary error rate is less than 15%, it affords a significant gain in terms of signal-to-noise ratio, as compared with the simple rake receiver. Its limitations seem to come only from the uncertainties in the estimates of the impulse responses of the channels. 

1. A method of receiving a radio signal comprising contributions from a plurality of channels multiplexed by respective spreading codes, comprising the steps of: allocating a matched filter receiver to each multiplexed channel to estimate an impulse response of each channel and to provide first soft estimates of symbols transmitted on each channel; and processing the first soft estimates provided by the matched filter receivers to obtain a corrected soft estimate of at least one symbol transmitted on one of the multiplexed channels by subtracting from the first soft estimate of said at least one symbol at least one term equal to the product of a decision value assigned to another symbol transmitted on another one of the multiplexed channels, determined from a soft estimate obtained previously for said another symbol, and a correlation between two generalized codes associated respectively with said at least one symbol and with said another symbol, each generalized code being a convolution of an estimated impulse response of its associated multiplexed channel and Q samples of a spreading code of said associated multiplexed channel where Q is a number of chips per symbol in the spreading codes.
 2. The method as claimed in claim 1, wherein symbols are transmitted on U multiplexed channels in the form of respective blocks of n symbols, n and U being numbers greater than 1, wherein, at the output of the matched filter receivers, the first soft estimate of the i-th symbol of a block transmitted on the u-th channel (1≦i≦n, 1≦u≦U) is given by the ((i−1)×U+u)-th component of a vector Z=Â*, Y, where Y is a vector of size n×Q+W−1 composed of complex samples of a baseband signal obtained from the received radio signal, W is a number of samples in the estimates of the impulse responses, and Â* is the conjugate transpose of a matrix Â=(Â₁, Â₂, . . . , Â_(n)) subdivided into n submatrices Â_(i) of size (n×Q+W−1)×U with 1≦i≦n, a u-th column of the matrix Â_(i) for 1≦u≦U being a convolution of the estimated impulse response of the u-th channel and of the Q samples of a spreading code of the u-th channel corresponding to the i-th symbol of a block, and wherein a corrected soft estimate of at least an i-th symbol of a block transmitted on a u-th channel (1≦i≦n, 1≦u≦U) is obtained by subtracting from a first soft estimate of said i-th symbol at least one term given by {tilde over (R)}^(u) _(i,0)·{circumflex over (b)}_(i), where {tilde over (R)}^(u) _(i,0) is the u-th row of a matrix of size U×U whose diagonal components are zero and whose other components are respectively from a correlation matrix {circumflex over (R)}_(i,0)=Â_(i)*·Â_(i), and {circumflex over (b)}_(i) is a column vector of size U composed of decision values assigned to the i-th symbols of the U blocks, determined respectively from soft estimates obtained previously for said i-th symbols.
 3. The method as claimed in claim 2, wherein said corrected soft estimate of the i-th symbol of the block transmitted on the u-th channel is obtained by further subtracting from the first soft estimate of said i-th symbol at least one term of the form {circumflex over (R)}^(u) _(i,j)·{circumflex over (b)}_(i+j), where j is a non-zero integer, and {circumflex over (R)}^(u) _(i,j) is the u-th row of a matrix of size U×U whose components are respectively from a correlation matrix {circumflex over (R)}_(i,j)=Â_(i)*·Â_(i+j).
 4. The method as claimed in claim 3, wherein said corrected soft estimate of the i-th symbol of the block transmitted on the u-th channel is obtained by subtracting from the first soft estimate of said i-th symbol each of the terms of the form {circumflex over (R)}^(u) _(i,j)·{circumflex over (b)}_(i+j) for −m≦j≦−1 and 1≦j≦m, where m is the integer equal to or immediately greater than the number (Q+W−1)/Q.
 5. The method as claimed in claim 1, wherein corrected soft estimates are obtained sequentially for a plurality of symbols blocks, and wherein each decision value assigned to a symbol transmitted on a multiplexed channel is determined either from the first soft estimate of said symbol, if a corrected soft estimate of said symbol has not been obtained, or from the corrected soft estimate of said symbol.
 6. The method as claimed in claim 1, wherein the symbols are bits, the soft estimates are real numbers, and the decision values are determined from soft estimates obtained previously by applying a function increasing between −1 and +1 to said soft estimates.
 7. The method as claimed in claim 1, wherein the symbols are bit pairs, the soft estimates are complex numbers, and the decision values are determined from the soft estimates obtained previously by applying a function increasing between −1 and +1 to real and imaginary parts of said soft estimates.
 8. The method as claimed in claim 7, wherein said function increasing between −1 and +1 is the sign function.
 9. A device for receiving a radio signal comprising contributions from a plurality of channels multiplexed by respective spreading codes, the receiving device comprising matched filter receivers each allocated to a respective multiplexed channel to estimate an impulse response of each channel and to provide first soft estimates of symbols transmitted on each channel, and means for processing the first soft estimates provided by the matched filter receivers to obtain a corrected soft estimate of at least one symbol transmitted on one of the multiplexed channels by subtracting from the first soft estimate of said at least one symbol at least one term equal to the product of a decision value assigned to another symbol transmitted on another one of the multiplexed channels, determined from a soft estimate obtained previously for said another symbol, and a correlation between two generalized codes associated respectively with said symbol and with said another symbol, each generalized code being a convolution of an estimated impulse response of a multiplexed channel and Q samples of a spreading code of the multiplexed channel, where Q is a number of chips per symbol in the spreading codes.
 10. The receiving device as claimed in claim 9, comprising at least U matched filter receivers each assigned to a respective multiplexed channel to estimate an impulse response of the channel and to obtain first soft estimates of a block of n symbols transmitted on the channel, n and U being numbers greater than 1, wherein, at the output of the matched filter receivers, the first soft estimate of the i-th symbol of a block transmitted on the u-th channel (1≦i≦n, 1≦u≦U) is given by the ((i−1)×U+u)-th component of a vector Z=Â*·Y, where Y is a vector of size n×Q+W−1 composed of complex samples of a baseband signal obtained from the received radio signal, W is a number of samples in the estimates of the impulse responses, and Â* is the conjugate transpose of a matrix Â=(Â₁, Â₂, . . . , Â_(n)) subdivided into n submatrices Â_(i) of size (n×Q+W−1)×U with 1≦i≦n, a u-th column of the matrix Â_(i) for 1≦u≦U being a convolution of the estimated impulse response of the u-th channel and of the Q samples of a spreading code of the u-th channel corresponding to the i-th symbol of the block, and wherein a corrected soft estimate of at least an i-th symbol of a block transmitted on a u-th channel (1≦i≦n, 1≦u≦U) is obtained by subtracting from a first soft estimate of said i-th symbol at least one term given by {tilde over (R)}^(u) _(i,0)·{circumflex over (b)}_(i), where {circumflex over (R)}^(u) _(i,0) is the u-th row of a matrix of size U×U whose diagonal components are zero and whose other components are respectively from a correlation matrix {circumflex over (R)}_(i,0)=Â_(i)*·Â_(i), and {circumflex over (b)}_(i) is a column vector of size U composed of decision values assigned to the i-th symbols of the U blocks, determined respectively from soft estimates obtained previously for said i-th symbols.
 11. The receiving device as claimed in claim 10, wherein the processing means are arranged to obtain said corrected soft estimate of the i-th symbol of the block transmitted on the u-th channel by further subtracting from the first soft estimate of said i-th symbol at least one term of the form {circumflex over (R)}^(u) _(i,j)·{circumflex over (b)}_(i+j), where j is a non-zero integer, and {circumflex over (R)}^(u) _(i,j) is the u-th row of a matrix of size U×U whose components are respectively from a correlation matrix {circumflex over (R)}_(i,j)=Â_(i)*·Â_(i+j).
 12. The receiving device as claimed in claim 11, wherein the processing means are arranged to obtain said corrected soft estimate of the i-th symbol of the block transmitted on the u-th channel by subtracting from the first soft estimate of said i-th symbol each of the terms of the form {circumflex over (R)}^(u) _(i,j)·{circumflex over (b)}_(i+j) for −m≦j≦−1 and 1≦j≦m, where m is the integer equal to or immediately greater than the number (Q+W−1)/Q.
 13. The receiving device as claimed in claim 9, wherein the processing means are arranged to obtain corrected soft estimates sequentially for a plurality of symbols of the U blocks, and wherein each decision value assigned to a symbol transmitted on a channel is determined either from the first soft estimate of said symbol, if a corrected soft estimate of said symbol has not been obtained, or from the corrected soft estimate of said symbol.
 14. The receiving device as claimed in claim 9, wherein the symbols are bits, the soft estimates are real numbers, and the decision values are determined from soft estimates obtained previously by applying a function increasing between −1 and +1 to said soft estimates.
 15. The receiving device as claimed in claim 9, wherein the symbols are bit pairs, the soft estimates are complex numbers, and the decision values are determined from the soft estimates obtained previously by applying a function increasing between −1 and +1 to each of real and imaginary parts of said soft estimates.
 16. The receiving device as claimed in claim 15, wherein said function increasing between −1 and +1 is the sign function.
 17. The receiving device as claimed in claim 14, wherein said function increasing between −1 and +1 is the sign function.
 18. The method as claimed in claim 6, wherein said function increasing between −1 and +1 is the sign function. 